//
//  MyFunction.m
//  C05_2函数
//
//  Created by dllo on 15/11/23.
//  Copyright © 2015年 dllo. All rights reserved.
//

#import "MyFunction.h"

/** 声明一个函数,无返回值,实现数组排序(冒泡排序算法) */
/**
 * 参数1:数组的首地址
 * 参数2:数组的元素个数
 */
void sortArray(int array[],int count){

    /** 冒泡排序 */
    int temp = 0;
    int flag = 1;
    for (int i = 0; i < count - 1 && flag; i++) {
        flag = 0;
        for (int j = 0; j < count - i - 1; j++) {
            if (array[j] > array[j + 1]) {
                temp = array[j];
                array[j] = array[j + 1];
                array[j + 1] = temp;
                flag = 1;
            }
        }
    }
    /** 输出 */
    for (int i = 0; i < count; i++) {
        printf("%d ", array[i]);
    }

    
    
    
}












#if 0
/** 函数的实现 */
int max(int x, int y){
    return x > y ? x : y;
}



void addOfArg(int x, int y){
    /** 输出形参的地址 */
    printf("x add:%p\n", &x);
    printf("y add:%p\n", &y);
    
}

void exchangeNumber(int x, int y){
    int temp = 0;
    temp = x;
    x = y;
    y = temp;
  
}
#endif

/** 1.两个数的最大值 */
int maxOfTwo(int x, int y){
    
    return x > y ? x : y;
    
}

/** 2，求三个数的最大值； */
int maxOfThree(int x, int y, int z){
    
    return maxOfTwo(maxOfTwo(x, y), z);
    
}

/** 3，求四个数的最大值； */
int maxOfFour(int a, int b, int c, int d){
    
    return maxOfThree(maxOfTwo(a, b), c, d);
    
}
































